有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何通过代码编辑awt文本字段

我找不到如何更改AWT文本框中的文本。我已经试过了:

textBox1.setText("text");
textBox1.validate();

textBox1.setText("text");
textBox1.repaint();

它们都不起作用。这可能是什么问题


共 (1) 个答案

  1. # 1 楼答案

    看看这个示例,我是如何将文本设置为文本字段的

    import java.awt.*;
    import java.awt.event.*;
    
    public class AwtControlDemo {
    
        private Frame mainFrame;
        private Label headerLabel;
        private Label statusLabel;
        private Panel controlPanel;
    
        public AwtControlDemo(){
            prepareGUI();
        }
    
        public static void main(String[] args){
            AwtControlDemo  awtControlDemo = new AwtControlDemo();
            awtControlDemo.showTextFieldDemo();
        }
    
        private void prepareGUI(){
            mainFrame = new Frame("Java AWT Examples");
            mainFrame.setSize(400,400);
            mainFrame.setLayout(new GridLayout(3, 1));
            mainFrame.addWindowListener(new WindowAdapter() {
                public void windowClosing(WindowEvent windowEvent){
                    System.exit(0);
                }        
            });    
            headerLabel = new Label();
            headerLabel.setAlignment(Label.CENTER);
            statusLabel = new Label();        
            statusLabel.setAlignment(Label.CENTER);
            statusLabel.setSize(350,100);
    
            controlPanel = new Panel();
            controlPanel.setLayout(new FlowLayout());
    
            mainFrame.add(headerLabel);
            mainFrame.add(controlPanel);
            mainFrame.add(statusLabel);
            mainFrame.setVisible(true);  
        }
    
        private void showTextFieldDemo(){
            headerLabel.setText("Control in action: TextField"); 
    
            Label  namelabel= new Label("User ID: ", Label.CENTER);
            final TextField userText = new TextField(16);
            userText.setText("name");
            Button displayButton = new Button("Display");
            displayButton.addActionListener(new ActionListener() {
                public void actionPerformed(ActionEvent e) {     
                    String data = "Username: " + userText.getText();
                    statusLabel.setText(data);        
                }
            }); 
    
            controlPanel.add(namelabel);
            controlPanel.add(userText);
            controlPanel.add(displayButton);
            mainFrame.setVisible(true);  
        }
    }